The increased use of technology in jobs increases the significance of data access to employees in a wide variety of professions and industries. Data access is typically obtained via computing devices, which are often separate or remote from a device on which the data is stored. The computing devices can thus be considered to have remote interfaces for accessing data. In an enterprise or company, data can be stored in various locations and accessed from various locations within the enterprise. Access interfaces to the data are designed to allow an enterprise user to access the data remotely. The access interfaces include a user interface that provides one or more mechanisms for a user to access data, and one or more data access interfaces that receive data access requests from the user interface.
In traditional systems, data access interfaces have been customized by developers for a particular user interface. Customizing the data access for a particular user interface results in a significant amount of duplicated effort and additional costs. Additionally, data access mechanisms that are tied to a specific user interface require a rebuild of the entire backend data access when porting the functionality to a different user interface.
One function of a user interface can be to access object trees, which include an object and its related objects. Traditionally, building an object tree required a developer to have specific knowledge of the user interface to build the tree. The developer traditionally had to write several operations to implement the tree and provide its representation to the user interface. Thus, the developer was required to have specific knowledge of the interface, and each solution was dependent on the interfaces employed in the system. The developer had to write all code for integration, which required the developer to manually create and insert each object into the tree. Thus, when a user attempted to access a tree, the tree was available because the developer had built the tree. As with the general discussion above with regard to remote user interfaces, such requirements resulted in significant costs in terms of time and effort, and porting the solution was difficult at best, and at worst porting required nearly an entire redevelopment of the system.